package controllers;


import com.alibaba.fastjson.JSON;
import play.mvc.Controller;
import common.results.ResultBean;


/**
 * @author guobin
 * @since 2015/9/27
 */
public class WebService extends Controller {



    /**
     * 请求成功，返回数据结果
     * @param data
     */
     static void wsOk(Object data){
        json(new ResultBean("success", data));
    }


    /**
     * 请求失败，返回错误消息
     * @param msg
     */
     static void wsError(String msg){
        json(new ResultBean("fail", msg));
    }

     static void wsMes(String state, Object data){
        json(new ResultBean(state,data));

    }

    /**
     * 如果字符串有空，则请求失败
     * @param strings
     */
     static void wsErrorIfEmpty(String... strings){
        for(String str : strings){
            if(str.equals("")||str==null){
                wsError("参数不能为空");
            }
        }
    }

    /**
     * 如果数据为null，则请求失败
     * @param data
     */
     static void wsErrorIfNull(Object data){
        wsErrorIfNull(data, "找不到数据");
    }

    /**
     * 如果数据为null，则请求失败
     * @param data
     * @param msg
     */
     static void wsErrorIfNull(Object data, String msg){
        if(data == null){
            wsError(msg);
        }
    }

     static void json(ResultBean result){
        if(params._contains("callback")){
            String callback = params.get("callback");
            renderText(String.format("%s(%s)", callback, JSON.toJSONString(result)));
        }else{
            renderJSON(result);
        }
    }

}
